/*
 * Vector.h
 *
 *  Created on: 20/06/2013
 *      Author: marcio
 */

#ifndef VECTOR_H_
#define VECTOR_H_

template<typename T>
typedef struct vt{
	T* elem;
	long pos;
	struct vt* next;
}vtNode;

template<typename T>
class Vector {
private:
	vtNode<T>* elems;

	long dim;

public:
	Vector();

	virtual ~Vector();

	void set(long i, double newelem);

	T get(long j);

	T* getVt(long i);

	long numDim();

	Vector<T> copy();

	T operator=(T elem);

	T operator[](long i);

	T operator!();
};

#endif /* VECTOR_H_ */
